home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -in_the_mag- / reader_requests / wild / include / inline / loadermodule.h < prev    next >
C/C++ Source or Header  |  2000-02-23  |  2KB  |  73 lines

  1. #ifndef _INLINE_LOADERMODULE_H
  2. #define _INLINE_LOADERMODULE_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef LOADERMODULE_BASE_NAME
  9. #define LOADERMODULE_BASE_NAME LoaderModuleBase
  10. #endif
  11.  
  12. #define SetModuleTags(WildApp, Tags) \
  13.     LP2NR(0x1E, SetModuleTags, struct WildApp *, WildApp, a0, struct TagItem *, Tags, a1, \
  14.     , LOADERMODULE_BASE_NAME)
  15.  
  16. #ifndef NO_INLINE_STDARG
  17. #define SetModuleTagsTags(WildApp, tags...) \
  18.     ({ULONG _tags[] = {tags}; SetModuleTags((WildApp), (struct TagItem *) _tags);})
  19. #endif
  20.  
  21. #define GetModuleTags(WildApp, Tags) \
  22.     LP2NR(0x24, GetModuleTags, struct WildApp *, WildApp, a0, struct TagItem *, Tags, a1, \
  23.     , LOADERMODULE_BASE_NAME)
  24.  
  25. #ifndef NO_INLINE_STDARG
  26. #define GetModuleTagsTags(WildApp, tags...) \
  27.     ({ULONG _tags[] = {tags}; GetModuleTags((WildApp), (struct TagItem *) _tags);})
  28. #endif
  29.  
  30. #define SetupModule(WildApp, Tags) \
  31.     LP2(0x2A, BOOL, SetupModule, struct WildApp *, WildApp, a0, struct TagItem *, Tags, a1, \
  32.     , LOADERMODULE_BASE_NAME)
  33.  
  34. #ifndef NO_INLINE_STDARG
  35. #define SetupModuleTags(WildApp, tags...) \
  36.     ({ULONG _tags[] = {tags}; SetupModule((WildApp), (struct TagItem *) _tags);})
  37. #endif
  38.  
  39. #define CloseModule(WildApp) \
  40.     LP1NR(0x30, CloseModule, struct WildApp *, WildApp, a0, \
  41.     , LOADERMODULE_BASE_NAME)
  42.  
  43. #define RefreshModule(WildApp) \
  44.     LP1(0x36, BOOL, RefreshModule, struct WildApp *, WildApp, a0, \
  45.     , LOADERMODULE_BASE_NAME)
  46.  
  47. #define LOALoadObj(Tags) \
  48.     LP1(0x3C, ULONG        *, LOALoadObj, struct TagItem *, Tags, a0, \
  49.     , LOADERMODULE_BASE_NAME)
  50.  
  51. #ifndef NO_INLINE_STDARG
  52. #define LOALoadObjTags(tags...) \
  53.     ({ULONG _tags[] = {tags}; LOALoadObj((struct TagItem *) _tags);})
  54. #endif
  55.  
  56. #define LOAGetObjAttr(WildApp, Object, Attr, Default) \
  57.     LP4(0x42, ULONG, LOAGetObjAttr, struct WildApp *, WildApp, a0, ULONG *, Object, a1, ULONG, Attr, d0, ULONG, Default, d1, \
  58.     , LOADERMODULE_BASE_NAME)
  59.  
  60. #define LOANextObjChild(Object, Precedent, Type) \
  61.     LP3(0x48, ULONG        *, LOANextObjChild, ULONG *, Object, a0, ULONG *, Precedent, a1, ULONG, Type, d0, \
  62.     , LOADERMODULE_BASE_NAME)
  63.  
  64. #define LOAMadeObjIs(Object, WildObject) \
  65.     LP2NR(0x4E, LOAMadeObjIs, ULONG *, Object, a0, ULONG *, WildObject, a1, \
  66.     , LOADERMODULE_BASE_NAME)
  67.  
  68. #define LOAFreeObj(Object) \
  69.     LP1NR(0x54, LOAFreeObj, ULONG *, Object, a0, \
  70.     , LOADERMODULE_BASE_NAME)
  71.  
  72. #endif /*  _INLINE_LOADERMODULE_H  */
  73.